package XLSX.xlsx的内部函数;

import java.math.BigDecimal;

/**
 * PMT() 年金函数  PMT 返回的支付款项包括本金和利息
 */
public class PMT {
    public static void main(String[] args) {
        System.out.println(PMT.PMT(
                new BigDecimal("0.1"),
                2,
                new BigDecimal("10000"),
                new BigDecimal("0")));
    }

    private static BigDecimal PMT(BigDecimal R,int N,BigDecimal P,BigDecimal F){
        BigDecimal add = P.multiply((new BigDecimal("1").add(R)).pow(N)).add(F);
        BigDecimal multiply = R.multiply(add);
        BigDecimal pow = (new BigDecimal("1").add(R)).pow(N).subtract(new BigDecimal("1"));
        return multiply.divide(pow,25,BigDecimal.ROUND_HALF_DOWN);

    }
}
